Networks and Distributed Systems